package com.zhuoyue.system.domain.dto;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import com.zhuoyue.common.annotation.Excel;
import com.zhuoyue.system.domain.InfraredDevice;
import lombok.Data;
import org.springframework.beans.BeanUtils;


/**
 * 红外设备对象 tbl_infrared_device
 *
 * @author zyzn
 * @date 2021-09-09
 */
@Data
public class InfraredDeviceRepDTO {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;

    /**
     * 家庭Id
     */
    private String homeId;

    /**
     * zigbee设备ID
     */
    private String deviceId;

    /**
     * 红外设备所属房间id
     */
    private String roomId;
    /**
     * 手机号
     */
    @Excel(name = "所属手机号")
    private String account;
    /**
     * 家庭名称
     */
    @Excel(name = "所属家庭")
    private String homeName;


    /**
     * 红外设备名称
     */
    @Excel(name = " 设备名称")
    private String name;
    private Long deptId;
    /**
     * zigbee设备名称
     */
    @Excel(name = "所属设备")
    private String zigbeeDeviceName;

    @Excel(name = "组织名称")
    private String deptName;

    /**
     * 4：普通空调；5：电视；6：风扇；7：中央空调
     */
    private Integer type;

    /**
     * 中央空调的编码
     */
    private String centralAcCode;

    /**
     * 图片
     */
    private String imgUrl;

    /**
     * $column.columnComment
     */
    private String deviceType;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /**
     * zigbee设备mac地址
     */
    private String zigbeeMac;
    /**
     * zigbee设备默认名称
     */
    private String zigbeeDeviceDefaultName;
    /**
     * zigbee设备默认设备类型
     */
    private String zigbeeDeviceType;


    public InfraredDeviceRepDTO doToDto(InfraredDevice l) {
        BeanUtils.copyProperties(l, this);
        return this;
    }
}
